package com.youlu.campus.entity;

import com.youlu.campus.base.interactive.ActivityBase;
import com.youlu.campus.entity.commission.SharingCommissionInfo;
import com.youlu.campus.entity.domain.CsInfoDomain;
import com.youlu.campus.entity.enums.TaskBizType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

/**
 * 活动信息表
 */
@Data
@Document(collection = "activity_info")
public class ActivityInfo extends ActivityBase implements Serializable {
    private static final long serialVersionUID = -2623990859936319144L;

    /**
     * 电子证书中文版本
     */
    public static final String DIGITAL_CHINESE_CA = "chinese";

    /**
     * 电子证书英文版本
     */
    public static final String DIGITAL_ENGLISH_CA = "english";
    /**
     * 类型
     * jinshuju 金数据
     * continuous-daka 连续打卡
     * timetable 课程表
     * daka 活动打卡
     * douyin 抖音
     * qimobang-video 期末帮视频活动
     * publicity 宣传类活动
     * kos 金山KOS
     * recruitment 实习招聘
     * wx-mini-dreambeat-contest:微信小程序梦想跳动竞赛类,
     * vote:投票,
     * third-video:三方视频类
     * video:视频类,
     * before:之前活动类型,
     * contest-plus:竞赛类,
     * h5-plus:h5新版,
     * qq-mini-plus:小程序活动plus竞赛类
     * qq-mini-plus-noncontest:小程序活动plus非竞赛类
     * qq-mini-zhongqing-contest 中青小程序活动竞赛类型
     * qq-mini-zhongqing-noncontest 中青小程序活动非竞赛类型
     * h5++:新版H5,最终版
     * reading:梦想跳动小程序读书类
     */
    private String type = "before";
    /**
     * 头图的模式,0:老模式,1:新模式
     */
    private String headerImageMode = "0";
    /**
     * 答题模式,0:先答题后报名,1:先报名后答题
     */
    private String qaMode = "0";
    /**
     * 答题任务名字
     */
    private String qaTaskName = "答题";
    /**
     * 答题副标题名字
     */
    private String qaTaskSubName = "(答题超过60即可)";
    /**
     * 任务类型,0:志愿者邀请,1:大赛,2:志愿者邀请和大赛,3:打卡,4:打卡和邀请
     */
    private Integer taskType = 0;
    /**
     * 进度页-头部图片
     * 头部图片
     */
    private String headerImageUrl;
    /**
     * 查询页-头部区域
     * 活动首页背景图2
     */
    private String headerImageUrl2;
    /**
     * 进度页-底部图片
     * 底部图片
     */
    private String footerImageUrl;
    /**
     * 背景图片
     */
    private String backGroundImageUrl;

    /**
     * 广告区
     */
    private List<AdsInfo> adsInfos = new ArrayList<>();
    /**
     * 答题可获取证书
     */
    private Boolean doQaHasCa = Boolean.TRUE;
    /**
     * 是否有答题
     */
    private Boolean hasQa = Boolean.TRUE;

    /**
     * 答题有限制,无限制就是分享逻辑
     */
    private Boolean qaLimit = Boolean.TRUE;
    /**
     * 答题可累加,在答题次数限制内可以继续答,算最高分
     */
    private Boolean qaAccumulation = Boolean.FALSE;
    /**
     * 答题小贴士,富文本加载
     */
    private String qaTips = "答题小提示...";
    /**
     * 题目ID
     */
    private String activityQaInfoId;
    /**
     * 是否有营销
     */
    private Boolean hasSale = Boolean.FALSE;
    /**
     * 答题次数，可以尝试答题次数
     */
    private Integer reTryQaNum = 3;
    /**
     * 通过的分数
     */
    private Double passQaScore = 70D;
    /**
     * 活动标签
     */
    private List<String> tags = new ArrayList<>();
    /**
     * 邀请页-海报地址
     * 海报地址
     */
    private String playbillImageUrl;
    /**
     * 分享海报地址
     */
    private String sharePlaybillImageUrl;
    /**
     * 分享模版ID
     */
    private String shareTemplateId;
    /**
     * 客服信息
     */
    private List<CsInfoDomain> csInfos = new ArrayList<>();
    /**
     * 进度页-QQ客服
     * 客服说明
     */
    private String csDesc;

    /**
     * 已获得的证书
     */
    private List<String> myCaInfos = new ArrayList<>();
    /**
     * 报名时间
     */
    @Transient
    private Date signUpTime;
    /**
     * 状态,0:未开始,1:进行中,2:已完成,3:未完成
     */
    @Transient
    private Integer status = 1;
    /**
     * 奖励是否领取
     */
    private Boolean rewardReceived = Boolean.FALSE;
    /**
     * 是否有Banner
     */
    private Boolean hasBanner = Boolean.FALSE;
    /**
     * Banner图片
     */
    private String bannerImageUrl;
    /**
     * Banner 内容，富文本
     */
    private String bannerDetail;
    /**
     * 是否显示详情
     */
    private Boolean showDetail = Boolean.FALSE;
    /**
     * 是否有足迹
     */
    private Boolean hasFootPrint = Boolean.FALSE;
    /**
     * 活动规则,富文本
     */
    private String activityRule;
    /**
     * 登记图片,对应公益证书登记字段,长宽比例5:4
     */
    private String enrollImageUrl;
    /**
     * 分享主图片,长宽比例5:4
     */
    private String shareImageUrl;
    /**
     * 分享名字
     */
    private String shareName;
    /**
     * 分享子名
     */
    private String shareOName = " ";
    /**
     * 证书下单页面提示,富文本，必须填写，认真填写
     */
    private String preOrderDesc;
    /**
     * 活动须知,富文本
     */
    private String mustKnow;
    /**
     * 是否发布
     */
    private Boolean published = Boolean.FALSE;
    /**
     * H5连接
     */
    private String h5Link;
    /**
     * 报名前介绍,富文本,报名按钮上侧
     */
    private String beforeSignUpDetail;
    /**
     * 报名后介绍,富文本,报名按钮上侧
     */
    private String afterSignUpDetail;

    /**
     * 报名后客服信息,富文本,公众号二维码
     */
    private String afterSignUpCsDetail;
    /**
     * 活动主题色,配置:default、green、red、gray
     */
    private String themeColor = "default";
    /**
     * 是否有线下活动
     */
    private Boolean hasOffLine = Boolean.FALSE;
    /**
     * 线下活动是否需要审核,在计算规则的时候
     */
    private Boolean offLineNeedVerify = Boolean.TRUE;
    /**
     * 线下活动详情,富文本
     */
    private String offLineDetail;
    /**
     * 是否有承办单位活动
     */
    private Boolean hasOrganizer = Boolean.FALSE;
    /**
     * 承办单位活动介绍
     */
    private String organizerDetail;
    /**
     * 承办单位活动客服信息,二维码
     */
    private String organizerCsUrl;
    /**
     * 短信通知签名
     */
    private String smsSign = "赞我";

    /**
     * 短信通知 活动简称
     */
    private String smsActivityName;

    /**
     * 是否开启支付完成短信通知
     */
    private Boolean paymentSmsEnabled = Boolean.FALSE;

    /**
     * 是否有大学榜单
     */
    private Boolean hasUniversityRank = Boolean.TRUE;
    /**
     * 大学榜单名字
     */
    private String universityRankName;
    /**
     * 是否有申办单位榜单
     */
    private Boolean hasOrgRank = Boolean.TRUE;
    /**
     * 申办单位榜名字
     */
    private String orgRankName;
    /**
     * 前端排版编号,1,2,3
     */
    private String layoutNo = "2";
    /**
     * 是否有志愿者福利
     */
    private Boolean hasVolunteerWelfare = Boolean.FALSE;
    /**
     * 头图高度
     */
    private Integer headerHeight = 699;

    /**
     * 报名次页-志愿者文案，志愿者详情
     */
    private String volunteerWelfareDetail;
    /**
     * 是否有直播
     */
    private Boolean hasBroadcast = Boolean.FALSE;
    /**
     * 直播详情,富文本
     */
    private String broadcastDetail;
    /**
     * 证书计算规则纬度
     */
    private List<TaskBizType> caRules = new ArrayList<TaskBizType>();
    /**
     * 获取证书是否累加
     */
    private Boolean accumulate = Boolean.FALSE;
    /**
     * 比率
     */
    private Double ratio = 10.0D;
    /**
     * 是否有省榜
     */
    private Boolean hasProvinceRank = Boolean.FALSE;
    /**
     * 省榜的名字
     */
    private String provinceRankName;
    /**
     * 全国榜的名字
     */
    private String countryRankName = "全国榜";
    /**
     * 用户榜的名字
     */
    private String userRankName;
    /**
     * 省榜的副标题
     */
    private String provinceSubTile = "前10名可额外获本省榜前十宣传大使证书";
    /**
     * 全国榜的副标题
     */
    private String countryRankSubTile = "前50名可额外获全国榜前五十宣传大使证书";
    /**
     * 用户榜的副标题
     */
    private String userRankSubTile;
    /**
     * 用户排行榜头图
     */
    private String userHeaderImageUrl;
    /**
     * 电子证书说明,富文本
     */
    private String digitalCaDetail;
    /**
     * 订单提示语-目前H5已经弃用 微信小程序用
     */
    private String orderTips = "您的订单已经进入制作期,将在7个工作日内发货,请注意微信公众号通知";
    /**
     * 领取奖励联系我们富文本
     */
    private String recieveRewardDetail;

    /**
     * 奖励发放开始时间,控制活动进度页面领取奖励底部按钮
     */
    private Date recieveRewardStartTime;
    /**
     * 奖励发放结束时间
     */
    private Date recieveRewardEndTime;
    /**
     * 微信AppId，授权模式使用赞我
     */
    private String wechatAppId = "wxe6d8878c1fad5938";
    /**
     * QQ AppId
     */
    private String qqAppId = "101950655";
    /**
     * 是否隐藏活动结束时间
     */
    private Boolean hideEndTime = Boolean.FALSE;
    /**
     * 新增的用户
     */
    @Transient
    private Integer newUserCount = 0;
    /**
     * 用户领取证书页介绍详情
     * 证书及礼品展示图
     */
    private String recieveCaDetail;
    /**
     * 是否有多级答题
     */
    private Boolean hasMultiQa = Boolean.FALSE;
    /**
     * 答题阶数,1阶，2阶，3阶
     */
    private Integer qaOrder = 1;
    /**
     * 官方报道
     */
    private String officialReportUrl;
    /**
     * 是否显示H5菜单模块
     */
    private Boolean showMenu = Boolean.TRUE;
    /**
     * 是否其他平台活动
     */
    private Boolean otherPlatform = Boolean.FALSE;
    /**
     * 订单问题反馈客服信息,富文本
     */
    private String orderCsInfo;

    //主办单位
    private Set<ActivityCaOrg> activityCaOrgSet;
    /**
     * 电子证书介绍,富文本
     */
    @Transient
    private String digitCaDetail;
    /**
     * 是否显示电子证书详情
     */
    private Boolean showDigit = Boolean.FALSE;


    private Boolean showGenerateCa = Boolean.TRUE;
    /**
     * 志愿者排行榜上部是否有详情
     */
    private Boolean inviteRankHasDetail = Boolean.FALSE;
    /**
     * 志愿者排行榜上部详情
     */
    private String inviteRankDetail;
    /**
     * 排行榜单位
     */
    private String rankListUnit = "贡献值";
    /**
     * 是否显示进度条弹框
     */
    private Boolean showScheduleTips = Boolean.FALSE;
    /**
     * 是否有全国榜
     */
    private Boolean hasCountryRank = Boolean.TRUE;
    /**
     * 活动是否停止
     */
    private Boolean stop = Boolean.TRUE;
    /**
     * 活动结束页
     * 活动停止说明
     */
    private String stopDetail = "https://qiniu.gqgood.com/stop.png";
    /**
     * 小程序提示按钮
     */
    private String miniProgramTip = "报名请戳我，回复：健康";
    /**
     * 是否有下单后客服图片
     */
    private Boolean hasAfterOrderCs = Boolean.FALSE;
    /**
     * 下单后客服图片,用户下单后弹出图片提示用户保存
     */
    private String afterOrderCs;
    /**
     * sms,wechat,qq,wechat-third,password,授权模式，默认微信公众号授权
     */
    private String authorizeMode = "wechat";
    /**
     * 邮费提示语
     */
    private String expressFeeTips = "邮费";

    private String receiveAddressTips = "（5-7个工作日内发货，学校放假，建议写家里地址）";

    /**
     * 修改地址说明
     */
    private String modifyAddressDesc;

    /**
     * 无法修改地址说明
     */
    private String notModifyAddressDesc;
    /**
     * 是否可以修改地址
     */
    private Boolean canModifyAddress = Boolean.TRUE;
    /**
     * 退款说明
     */
    private String refundDesc;
    /**
     * 无法退款说明
     */
    private String notRefundDesc = "https://qiniu.gqgood.com/reject-refund-20210910.jpeg";
    /**
     * 是否可退款
     */
    private Boolean canRefund = Boolean.FALSE;
    /**
     * 退款确认图片
     */
    private String refundConfirmUrl;
    /**
     * 是否弹退款确认图片
     */
    private Boolean showRefundConfirmUrl = Boolean.TRUE;

    //是否开启客服  customerService true 开启 false不开启
    private Boolean customerService = Boolean.TRUE;


    /**
     * 贡献值别称
     */
    private String rewardValueAlias;

    /**
     * 奖励值单位描述
     * 1:步数 2:销量 3:参与人数 4:爱心 5:贡献 6:传播 7:ai值 8:能量值 9:强国值 10:低碳能量 11:环保值
     */
    private String rewardValueUnitDesc = "贡献值";


    /**
     * 累计贡献值别称
     */
    private String leiJiRewardValueAlias;

    /**
     * 证书领取图片
     */
    private String certificateReceivePic;

    /**
     * 证书1名称
     */
    private String certificateFirstName;

    /**
     * 证书1等级
     */
    private String certificateFirstLevel;

    /**
     * 证书2名称
     */
    private String certificateSecondName;

    /**
     * 微信授权图片
     */
    private String wechatAuthorizationImageUrl;

    /**
     * 微信授权文字
     */
    private String wechatAuthorizationDesc;

    /**
     * 领取电子证书所需贡献值
     */
    private Integer receiveCaValue = 0;
    /**
     * 贡献值不足时的提示文字
     */
    private String receiveCaErrorTips = "";
    /**
     * 短链接
     */
    private String shortUrl;

    /**
     * 是否有签到
     */
    private Boolean hasSignIn = Boolean.TRUE;

    /**
     * 是否修改用户报名信息
     */
    private Boolean updateUserSignUp = Boolean.FALSE;

    /**
     * 个人信息颜色值
     */
    private String colorValueUserInfo;
    /**
     * 8个菜单文字颜色色值
     */
    private String colorValueMenu;
    /**
     * 个人邀请颜色色值
     */
    private String colorValueInvite;

    /**
     * 成绩页-答题通过提示
     */
    private String qaPassTips;

    /**
     * 成绩页-答题未通过提示
     */
    private String qaNotPassTips;

    /**
     * 报名次页-报名页提示
     */
    private String signUpTips;
    /**
     * 邀请页面-分享推荐文案
     * 邀请弹窗提示
     */
    private String inviteTips;

    /**
     * 上传文件类型
     */
    private String[] uploadFileType = new String[]{};

    /**
     * 是否开启公告 false未开启 true 开启
     */
    private Boolean notice = Boolean.FALSE;
    /**
     * 如果开启公告，公告内容
     */
    private String noticeContent;

    /**
     * 公告颜色
     */
    private String noticeContentColor;
    /**
     * 是否有积分,默认为否
     */
    @Indexed
    private Boolean hasPoint = Boolean.FALSE;

    /**
     * 邀请助力
     * TRUE 开启表示用户扫码老用户增加贡献值
     */
    private Boolean inviteHelp = Boolean.FALSE;

    private Integer inviteHelpValue = 2;
    /**
     * 进度页-是否弹窗
     * 首页是否有弹窗
     */
    private Boolean hasIndexPopup = Boolean.FALSE;
    /**
     * 进度页-图片地址
     * 首页弹窗,图片地址
     */
    private String indexPopupImage;
    /**
     * 福利领取链接
     */
    private String welfareRecipientLinker;

    /**
     * 奖项设置,富文本
     */
    private String rewardsDetail;
    /**
     * 奖励规则图片
     */
    private String rewardsImage;
    /**
     * 主办单位详情
     */
    private String sponsorDetail;

    /**
     * 比赛内容
     */
    private String contestDetail;
    /**
     * 证书领取通知信息
     */
    private String caReceiveNotifyDetail;
    /**
     * 活动排序值
     */
    //private Integer priority = 0;

    /**
     * 证书匹配关键字
     * key<invite:邀请/宣传,c-contest:校赛,p-contest:省赛,co-contest:国赛>
     * ganwu:感悟证书
     * 配置样子<invite:志愿者>
     */
    private HashMap<String, String> caMatchKeyWords = new HashMap<>();

    /**
     * 按钮配置
     */
    private HashMap<String, HashMap<String, String>> buttonConfigs = new HashMap<>();

    /**
     * 活动说明图片
     */
    private String detailImage;

    /**
     * 是否有实践行动
     */
    private Boolean hasPraxis = Boolean.FALSE;

    /**
     * 是否有作品征集
     */
    private Boolean hasWorkCollection = Boolean.FALSE;

    /**
     * 是否有知识挑战
     *
     * @return
     */
    private Boolean hasKnowleageChallage = Boolean.FALSE;

    /**
     * 是否有视频
     */
    private Boolean hasVideo = Boolean.FALSE;
    /**
     * 是否有QQ群加群
     */
    private Boolean hasJoinQqGroup = Boolean.FALSE;
    /**
     * 是否有外链类型
     */
    private Boolean hasOuterTask = Boolean.FALSE;
    /**
     * 是否是热门活动
     */
    private Boolean hoted = Boolean.FALSE;
    /**
     * 我的荣誉图片按钮
     */
    private String honorButtonImgUrl;
    /**
     * 排行榜按钮图片
     */
    private String rankingButtonImgUrl;
    /**
     * 文创Button图片
     */
    private String cultureCreateButtonImgUrl;

    /**
     * 活力值底图
     */
    private String rewardValueImgUrl;
    /**
     * 进度页-贡献值别名
     * 活力值/贡献值别名
     */
    private String valueAlias = "活力值";

    /**
     * 证书领取限制-对象包以下对象字段
     *
     * @Field caCertificateValue 电子证书领取所需挑战值
     * @Field caCertificateTips 电子证书领取进度文案 如：再获得%d挑战值，可获得电子证书
     * @Field paperCertificateValue 纸质证书领取所需挑战值
     * @Field paperCertificateTips 纸质证书领取进度文案 如：再获得%d挑战值，可获得纸质证书
     * @Field paperCertificateTopTips 纸质证书领取进度文案-最高级提示语 如:恭喜您，已达到领取纸质证书等级！
     */
    private CertificateReceiveLimit certificateReceiveLimit;
    /**
     * 成绩页-获取邀请宣传员证书底图
     */
    private String invitePublicistBottomImageUrl;


    /**
     * 报名时是否手动输入学校 true 需要手动输入 false 下拉框搜索选择
     */
    private Boolean signUpInputUniversity = Boolean.FALSE;
    /**
     * 非专业组竞赛说明
     */
    private String nonMajorContestDetail;
    /**
     * 非专业题库链接
     */
    private String nonMajorQaLink;

    /**
     * 专业组竞赛说明
     */
    private String majorContestDetail;


    /**
     * 专业组题库链接
     */
    private String majorQaLink;
    /**
     * 报名前答题说明
     */
    private String qaDetailBeforeSignUp;
    /**
     * 答题后增加贡献值
     */
    private Integer afterQaAddPoint = 0;
    /**
     * 证书领取
     */
    private String caRecieveDetail;
    /**
     * 贡献值说明
     */
    private String pointDesc;

    /**
     * 报名后二次弹窗,针对h5++ h5分支
     */
    private String afterSignUpSecondDetail;

    /**
     * 是否开启中国网标识true 开启 false 未开启
     */
    private Boolean chinaWebsite = Boolean.FALSE;

    /**
     * 热门排序
     */
    private Integer hotPriority = 0;
    /**
     * 活动小封面
     */
    private String subImageUrl;
    /**
     * h5公众二维码
     */
    private String h5OfficialQrcode;
    /**
     * 课程ID
     */
    private String courseId;
    /**
     * 第三方课程连接
     */
    private String thirdCourseUrl;
    /**
     * 是否有电子证书
     */
    private Boolean hasElectronicCa = Boolean.FALSE;
    /**
     * 是否有纸质证书
     */
    private Boolean hasPaperCa = Boolean.FALSE;
    /**
     * 小程序官方社群码
     */
    private String wxMiniOfficialQrcode;
    /**
     * 推荐排序
     */
    private Integer recommendPriority = 0;
    /**
     * 属于那个平台
     * qq:qq 小程序｜qq-h5:qq H5｜wechat-h5:公众号 h5 ｜h5:纯H
     * wechat-mini:微信小程序｜app: 移动端｜wechat-third:微信第三方
     */
    private List<String> belongPlatform;
    /**
     * 是否有消息订阅
     */
    private Boolean hasSubscription = Boolean.FALSE;
    /**
     * 活动任务扩展字段
     */
    private String taskExtra;
    /**
     * 副标题
     */
    private String subTitle;
    /**
     * 组织类型Id
     */
    private String orgTypeId;
    /**
     * 领取证书标题
     */
    private String receiveCertTitle;
    /**
     * 领取证书条件
     */
    private String receiveCertCondition;
    /**
     * 活动隐藏规则
     */
    private String hiddenRule;
    /**
     * 是否分享小红书
     */
    private Boolean hasShareXhs = Boolean.FALSE;
    /**
     * 是否分抖音
     */
    private Boolean hasShareDy = Boolean.FALSE;
    /**
     * 是否分微博
     */
    private Boolean hasShareWb = Boolean.FALSE;
    /**
     * 是否邀请好友
     */
    private Boolean hasInviteFriends = Boolean.FALSE;
    /**
     * 关注公众号任务
     */
    private Boolean hasFocusTask = Boolean.FALSE;
    /**
     * 是否朋友圈集赞
     */
    private Boolean hasCollectPraise = Boolean.FALSE;
    /**
     * 领取证书成功图片
     */
    private String receiveCertSuccessImageUrl;


    /**
     * 关于活动介绍
     */
    private String aboutActivityDesc;

    /**
     * 是否报名前活动证书
     */
    private Boolean signUpBeforeCa = Boolean.FALSE;

    /**
     * 电子证书类型 默认中文版本
     */
    private String digitalCaType = DIGITAL_CHINESE_CA;

    /**
     * 答题说明
     */
    private String qaDesc;

    /**
     * 电子证书支付描述
     */
    private String digitalCaPayDesc;

    /**
     * 领取宣传证书纸质版所需邀请人数
     */
    private Integer receivePaperCaOfInviteCount = 0;

    /**
     * 比赛电子证书费用 0 表示免费
     */
    private Integer contestDigitalCaFee = 0;

    /**
     * 活动所属类目-ID
     */
    private String categoryId;

    /**
     * 活动所属类目-名称
     */
    private String categoryName;

    /**
     * 报名成为志愿者图片URL
     */
    private String signUpVolunteerImgUrl;
    /**
     * 是否显示报名人数
     */
    private Boolean showJoinNum = Boolean.FALSE;
    /**
     * 初始报名人数
     */
    private Long initJoinNum = 0L;
    /**
     * 随机开始报名人数
     */
    private Long randomStartJoinNum = 0L;
    /**
     * 随机结束报名人数
     */
    private Long randomEndJoinNum = 0L;

    /**
     * 累计随机数报名人数
     */
    private Long randomInitJoinNum = 0L;

    /**
     * 0 链接活动 1 图片信息类
     */
    private Integer simpleAcType;
    /**
     * 简单活动链接
     */
    private String simpleAcUrl;
    /**
     * kos价格
     */
    private Integer kosPrice;
    /**
     * 购买前内容
     */
    private String kosBeforeContent;
    /**
     * 购买后内容
     */
    private String kosEndContent;
    /**
     * 购买后没有code内容
     */
    private String kosEndNotCodeContent;
    /**
     * 增加音频类活动是否有题库练习 true 开启题库练习
     */
    private Boolean qaExercise = Boolean.FALSE;

    /**
     * 商户分账比例调整
     */
    private MerchantSharingProfitInfo merchantSharingProfit;

    /**
     * 是否有背景音乐 true 开 false 无
     */
    private Boolean backgroundMusic = Boolean.FALSE;
    /**
     * 背景音乐是否默认播放 true 默认 false 无
     */
    private Boolean defaultPlayBackgroundMusic = Boolean.FALSE;
    /**
     * 背景音乐文件地址
     */
    private String backgroundMusicFileUrl;

    /**
     * 初赛支付图片-小程序竞赛
     */
    private String chuSaiPayDesc;
    /**
     * 复赛支付图片-小程序竞赛
     */
    private String fuSaiPayDesc;
    /**
     * 决赛支付图片-小程序竞赛
     */
    private String jueSaiPayDesc;
    /**
     * 初赛费用（单位：分）
     */
    private Integer chuSaiFee = 0;

    /**
     * 复赛费用（单位：分）
     */
    private Integer fuSaiFee = 0;

    /**
     * 决赛费用（单位：分）
     */
    private Integer jueSaiFee = 0;


    /**
     * 是否有志愿者邀请 true 有 false 无
     */
    private Boolean hasVolunteerInvite = Boolean.TRUE;

    /**
     * 电子证书是否可领取 true 可领取
     */
    private Boolean digitalCaReceive = Boolean.TRUE;

    /**
     * 电子证书不可领取弹窗提示
     */
    private String digitalCaNoReceiveDesc;

    /**
     * 活动分拥配置
     */
    private SharingCommissionInfo sharingCommissionInfo;

    //代码占位符
    /**
     * true 开启小程序跳转链接
     * false 未开启
     */
    private Boolean openMiniJumpLink = Boolean.FALSE;

    /**
     * 跳转小程序链接
     */
    private String miniJumpLink;

    /**
     * 跳转小程序链接文本描述
     */
    private String miniJumpLinkTextDesc;

    /**
     * H5进度页是否开启弹窗提示
     * 0 弹框
     */
    private Integer h5SchedulePopupTips = 0;

    /**
     * 邀请页-背景图片
     * 进度页弹窗背景图
     */
    private String invitePopupBackgroundImgUrl;


    /**
     * 邀请页-邀请好友活动说明
     * 进度页弹窗-邀请按钮图片
     */
    private String invitePopupButtonImgUrl;


    /**
     * 报名首页-金数据化活动报名首页头部
     */
    private String jinShuJuSignUpHomeTopUrl;

    /**
     * 报名首页-金数据化活动报名首页底部
     */
    private String jinShuJuSignUpBottomUrl;

    /**
     * 报名首页-答题下一步按钮
     */
    private String qaNextButtonUrl;

    /**
     * 报名次页-报名填写信息下一步提交
     */
    private String signUpNextButtonUrl;


    /**
     * 成绩页-重新答题按钮
     */
    private String restQaButtonUrl;

    /**
     * 进度页-邀请按钮图片
     */
    private String inviteButtonImgUrl;
    /**
     * 查询页-查询按钮
     */
    private String searchButtonImgUrl;

    /**
     * 邀请限制人数
     */
    private Integer inviteCountLimit = 1;

    /**
     * 个人信息背景图
     */
    private String userInfoBackgroundImgUrl;

    /**
     * 排行榜背景图片
     */
    private String rankingBackgroundImgUrl;

    /**
     * 订阅按钮图片
     */
    private String subButtonImgUrl;

    /**
     * 是否实时领取志愿者电子证书
     * true 实时开启领取 false 关闭
     */
    private Boolean volunteerTimeDigitalCa = Boolean.FALSE;
    /**
     * 排行榜top图片
     */
    private String rankingTopImgUrl;
    /**
     * 是否有分享
     */
    private Boolean hasShare = Boolean.TRUE;
    /**
     * 抖音地址
     */
    private String douYinUrl;
    /**
     * 查看进度按钮
     */
    private String scheduleButton = "https://qiniu.gqgood.com/YOJSJCKJD.png";
    /**
     * 报名按钮
     */
    private String registerButton = "https://qiniu.gqgood.com/YOJSJBM.png";
    /**
     * 上次使用的微信AppId，授权模式使用赞我
     */
    private String lastWechatAppId = "wxe6d8878c1fad5938";
    /**
     * 是否有提交感悟
     */
    private Boolean submitGanWu = Boolean.FALSE;
    /**
     * 是否显示投诉按钮
     */
    private Boolean showComplaintButton = Boolean.TRUE;
    /**
     * 是否显示售后
     */
    private Boolean openAfterSales = Boolean.FALSE;
    /**
     * 售后提示信息
     * 1:已付款,2:制作中,3:待发货,4:待收货,5:已收货
     */
    private HashMap<String, String> afterSalesInfos = new HashMap<>();

    /**
     * 是否显示QQ群
     */
    private Boolean showQQGroup = Boolean.FALSE;
    /**
     * QQ群图片
     */
    private String qqGroupImage;
    /**
     * QQ链接
     */
    private String qqGroupLinker;

    /**
     * 排除的学校
     */
    private List<String> exUniversity = new ArrayList<>();

    /**
     * 抽奖开关
     */
    private Boolean enableLottery = false;


    public String getRewardValueAlias() {
        return rewardValueAlias;
    }

    public void setRewardValueAlias(String rewardValueAlias) {
        this.rewardValueAlias = rewardValueAlias;
        if (StringUtils.isNotBlank(rewardValueAlias)) {
            this.rewardValueUnitDesc = rewardValueAlias;
        }
    }

    public String getRewardValueUnitDesc() {
        return rewardValueUnitDesc;
    }

    public void setRewardValueUnitDesc(String rewardValueUnitDesc) {
        this.rewardValueUnitDesc = rewardValueUnitDesc;
    }
}
